/*
 * pre.h
 *
 *  Created on: 2011-5-26
 *      Author: yangentao@gmail.com
 */

#ifndef PRE_H_
#define PRE_H_

#include <windows.h>
#include <windowsx.h>

#include <cctype>
#include <cassert>
#include <cstdlib>
#include <cstdio>
#include <memory>
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <map>
#include <list>
#include <deque>
#include <initializer_list>

using namespace std;

#include <boost/noncopyable.hpp>
#include <boost/ref.hpp>
#include <boost/signals2.hpp>
#include <boost/tuple/tuple.hpp>
#include <boost/tuple/tuple_comparison.hpp>
#include <boost/bind.hpp>
#include <boost/foreach.hpp>
#include <boost/algorithm/string.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/function.hpp>
#include <boost/any.hpp>
#include <boost/shared_array.hpp>

using boost::signals2::trackable;
using boost::noncopyable;
using boost::tuple;
using boost::make_tuple;
using boost::signals2::connection;
using boost::signals2::connect_position;
using boost::signals2::at_back;
using boost::signals2::at_front;
using boost::signals2::signal;
using boost::any;
using boost::any_cast;
using boost::function;


#define nullptr NULL

#define R(T) T&
#define CR(T) const T&

typedef unsigned char byte;
typedef byte uchar;
typedef unsigned short ushort;
typedef unsigned int uint;
typedef unsigned long ulong;
typedef long long longlong;


#define PLATFORM_ASSERT(c) ((void)0)

#endif /* PRE_H_ */
